/**
 项目基本信息查询
 * 
 * @author 
 * @since 2012-4-4
 */
Ext.onReady(function() {
			var qForm = new Ext.form.FormPanel({
						region : 'north',
						title : '<span class="commoncss">查询条件<span>',
						collapsible : true,
						border : true,
						labelWidth : 90, // 标签宽度
						// frame : true, //是否渲染表单面板背景色
						labelAlign : 'right', // 标签对齐方式
						bodyStyle : 'padding:3 5 0', // 表单元素和表单面板的边距
						buttonAlign : 'center',
						height : 95,
						items : [{
							layout : 'column',
							border : false,
							items : [{
										columnWidth : .33,
										layout : 'form',
										labelWidth : 60, // 标签宽度
										defaultType : 'textfield',
										border : false,
										items : [{
													fieldLabel : '项目编码',
													name : 'prj_sn',
													xtype : 'textfield', // 设置为数字输入框类型
													anchor : '100%'
												}]
									}, {
										columnWidth : .33,
										layout : 'form',
										labelWidth : 120, // 标签宽度
										defaultType : 'textfield',
										border : false,
										items : [{
													fieldLabel : '项目名称', // 标签
													id : 'prj_name',
													name : 'prj_name', // name:后台根据此name属性取值
													allowBlank : true, // 是否允许为空
													maxLength : 6, // 可输入的最大文本长度,不区分中英文字符
													anchor : '100%' // 宽度百分比
												}]
									}]
						}],
				buttons : [{
							text : '查询',
							iconCls : 'previewIcon',
							handler : function() {
								queryBaseInfo(qForm.getForm());
							}
						}, {
							text : '重置',
							iconCls : 'tbar_synchronizeIcon',
							handler : function() {
								qForm.getForm().reset();
							}
						}]
			});

			// 定义自动当前页行号
			var rownum = new Ext.grid.RowNumberer({
						header : 'NO',
						width : 28
					});

			// 定义列模型
			var cm = new Ext.grid.ColumnModel([rownum, {
				header : '项目编号', // 列标题
				dataIndex : 'prj_sn', // 数据索引:和Store模型对应
				width : 60,
				sortable : true
					// 是否可排序
				}, {
				header : '项目名称',
				dataIndex : 'prj_name',
				width : 60,
				sortable : true
			}, {
				header : '项目承办单位',
				dataIndex : 'prj_ut'
			}, {
				header : '项目地块',
				dataIndex : 'prj_massif'
			}, {
				header : '项目状态',
				dataIndex : 'prj_status'
			}]);

			/**
			 * 数据存储
			 */
			var store = new Ext.data.Store({
						// 获取数据的方式
						proxy : new Ext.data.HttpProxy({
									url : 'project.ered?reqCode=queryBaseInfo'
								}),
						// 数据读取器
						reader : new Ext.data.JsonReader({
									totalProperty : 'TOTALCOUNT', // 记录总数
									root : 'ROOT' // Json中的列表数据根节点
								}, [{
											name : 'prj_sn' // Json中的属性Key值
										}, {
											name : 'prj_name'
										}, {
											name : 'prj_ut'
										}, {
											name : 'prj_massif'
										}, {
											name : 'prj_status'
										}])
					});

			// 翻页排序时带上查询条件
			store.on('beforeload', function() {
						this.baseParams = qForm.getForm().getValues();
					});
			// 每页显示条数下拉选择框
			var pagesize_combo = new Ext.form.ComboBox({
						name : 'pagesize',
						triggerAction : 'all',
						mode : 'local',
						store : new Ext.data.ArrayStore({
									fields : ['value', 'text'],
									data : [[10, '10条/页'], [20, '20条/页'], [50, '50条/页'], [100, '100条/页'], [250, '250条/页'], [500, '500条/页']]
								}),
						valueField : 'value',
						displayField : 'text',
						value : '20',
						editable : false,
						width : 85
					});

			// 改变每页显示条数reload数据
			pagesize_combo.on("select", function(comboBox) {
						bbar.pageSize = parseInt(comboBox.getValue());
						number = parseInt(comboBox.getValue());
						store.reload({
									params : {
										start : 0,
										limit : bbar.pageSize
									}
								});
					});
			var number = parseInt(pagesize_combo.getValue());
			// 分页工具栏
			var bbar = new Ext.PagingToolbar({
						pageSize : number,
						store : store,
						displayInfo : true,
						displayMsg : '显示{0}条到{1}条,共{2}条',
						plugins : new Ext.ux.ProgressBarPager(), // 分页进度条
						emptyMsg : "没有符合条件的记录",
						items : ['-', '&nbsp;&nbsp;', pagesize_combo]
					});

			// 表格实例
			var grid = new Ext.grid.GridPanel({
						region : 'center', // 和VIEWPORT布局模型对应，充当center区域布局
						// collapsible : true,
						border : false,
						// 表格面板标题,默认为粗体，我不喜欢粗体，这里设置样式将其格式为正常字体
						title : '<span class="commoncss">项目基本信息</span>',
						// height : 500,
						autoScroll : true,
						frame : true,
						store : store, // 数据存储
						stripeRows : true, // 斑马线
						cm : cm, // 列模型
						bbar : bbar,// 分页工具栏
						viewConfig : {
							// 不产横向生滚动条, 各列自动扩展自动压缩, 适用于列数比较少的情况
							forceFit : true
						},
						loadMask : {
							msg : '正在加载表格数据,请稍等...'
						}
					});

			// 布局
			var viewport = new Ext.Viewport({
						layout : 'border',
						items : [qForm, grid]
					});

			// 查询表格数据
			function queryBaseInfo(pForm) {
				var params = pForm.getValues();
				params.start = 0;
				params.limit = bbar.pageSize;
				store.load({
							params : params
						});
			}

		});